package com.sec.etech.nc.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sec.etech.common.ModelBase;

import java.util.Date;
import java.util.List;
import java.util.Map;

@lombok.Data
@TableName("proc_nc")
public class Nc extends ModelBase {

    /**
     * 程序id
     */
    @TableId
    Long ncid;

    /**
     * 状态 {"0":"未开始","1":"编制中","2":"已入库","3":"取消","4":"通用"}
     */
    Long statusid;

    /**
     * 是否验证
     */
    Integer verify;

    /**
     * 版本号
     */
    private String versions;

    /**
     * 程序编号
     */
    private String ncnum;

    /**
     * 计划任务id
     */
    private Long ncplanid;

    /**
     * 关联的路线卡工步
     */
    @TableField("route_step_id")
    private Long routeStepId;

    /**
     * 程序文件夹名称
     */
    @TableField("nc_folder_name")
    private String ncFolderName;

    /**
     * 是否双轴程序：1-是，0-否
     */
    @TableField("is_biaxial")
    private Integer isBiaxial;

    /**
     * 工序id
     */
    private Long operationid;

    /**
     * 使用车间id
     */
    private Long workshopid;

    /**
     * 机床id
     */
    private Long machineid;

    /**
     * 计划需求时间
     */
    private Date plandate;

    /**
     * 实际完成日期
     */
    private Date finishdate;

    /**
     * 编制工作量
     */
    private Double workday;

    /**
     * 校对工作量
     */
    private Double checkworkday;

    /**
     * 编制
     */
    private Long designeruid;

    /**
     * 校对
     */
    private Long checkeruid;

    /**
     * 审核
     */
    private Long revieweruid;

    /**
     * 审定
     */
    private Long approveruid;

    /**
     * 通用程序序号
     */
    private Long commonncid;

    /**
     * 是否签收
     */
    private Integer signin;

    /**
     * 签收者
     */
    private Long signeruid;

    /**
     * 签收日期
     */
    private Date signdate;

    /**
     * 分栏设定
     */
    private Integer subfield;

    /**
     * 是否有效
     */
    private Integer active;

    /**
     * 备注
     */
    public String tips;

    /**
     * 取消原因
     */
    public String abandontips;

    /**
     * 编制科室
     */
    public Long designdprtid;

    /**
     * 临时字段，提交入库，文件修改，修改单修改使用
     */
    @TableField(exist = false)
    public List<NcFiles> proc_nc_filesList;
    /**
     * 临时字段，修改单修id
     */
    @TableField(exist = false)
    public Long amendid;

    /**
     * 分组后的文件list
     */
    @TableField(exist = false)
    public Map<Long, List<NcFiles>> files;

    //--------------------下面为临时字段
    /**
     * 零件id
     */
    @TableField(exist = false)
    public Long partsid;
    /**
     * 零件图号
     */
    @TableField(exist = false)
    public String partsnum;
    /**
     * 零件名称
     */
    @TableField(exist = false)
    public String partsname;
    /**
     * 工序号
     */
    @TableField(exist = false)
    public String opNo;
    /**
     * 工序名称/工序短文本
     */
    @TableField(exist = false)
    public String operationname;
    /**
     * 机床编号
     */
    @TableField(exist = false)
    public String machinenum;
    /**
     * 机床代号
     */
    @TableField(exist = false)
    public String machinecode;
    /**
     * 机床名称（带俗称）
     */
    @TableField(exist = false)
    public String machinenames;
    /**
     * 主头清单文件
     */
    @TableField(exist = false)
    public String uploadseries4MainList;
    /**
     * 主头程序文件
     */
    @TableField(exist = false)
    public String[] uploadseries4MainFile;
    /**
     * 主头附件文件
     */
    @TableField(exist = false)
    public String[] uploadseries4MainAccessory;
    /**
     * 副头清单文件
     */
    @TableField(exist = false)
    public String uploadseries4SubList;
    /**
     * 副头程序文件
     */
    @TableField(exist = false)
    public String[] uploadseries4SubFile;
    /**
     * 副头附件文件
     */
    @TableField(exist = false)
    public String[] uploadseries4SubAccessory;
    /**
     * 清单文件
     */
    @TableField(exist = false)
    public String uploadseries4List;
    /**
     * 程序文件
     */
    @TableField(exist = false)
    public String[] uploadseries4File;
    /**
     * 附件文件
     */
    @TableField(exist = false)
    public String[] uploadseries4Accessory;
    /**
     * 编制
     */
    @TableField(exist = false)
    public String designeruname;
    /**
     * 校对
     */
    @TableField(exist = false)
    public String checkeruname;
    /**
     * 审核
     */
    @TableField(exist = false)
    public String revieweruname;
    /**
     * 审定
     */
    @TableField(exist = false)
    public String approveruname;
    /**
     * 通用程序编号
     */
    @TableField(exist = false)
    public String commonncnum;
    /**
     * 所属工艺卡序号
     */
    @TableField(exist = false)
    public Long processid;
    /**
     * 程序大类序号
     */
    @TableField(exist = false)
    public Long mainclassid;
    /**
     * 使用车间
     */
    @TableField(exist = false)
    public String workshopname;

}
